[アップデート] Amazon MWAAのマイクロ環境クラス「mw1.micro」が追加されたので環境構築してみました
AWS事業本部コンサルティング部の石川です。新たなマイクロ環境サイズが追加された Amazon Managed Workflows for Apache Airflow(以降、Amazon MWAAと略す)が追加されたので環境構築してみました。
Amazon MWAAと マイクロ環境クラス「mw1.micro」の導入ユースケース
マイクロ環境クラス「mw1.micro」の登場によって、ユースケースが広がります。
- コスト効率の向上
- 小規模な本番ワークロードでも導入できる
- リソース最適化とコスト効率に柔軟に対応できる
- 開発用途に最適
- 開発環境やテスト環境として効率的に利用できる
- データ分離
- 異なるワークフロー要件毎にデータ分離を実現する
- 部門ごとの分離環境が提供できる
mw1.microの主な特徴
mw1.microのスペックは以下のとおりです。
クラス/リソース | スケジューラとワーカー vCPU/RAM | Web サーバー vCPU/RAM | 同時実行タスク | DAG 容量 |
---|---|---|---|---|
mw1.マイクロ | 1 vCPU / 3GB | 1 vCPU / 3GB | 3 | 最大25 |
mw1.micro では、Amazon MWAA の全体的なアーキテクチャを維持しつつ、Airflow のスケジューラーとワーカーを単一のコンテナに統合しています。そのため、mw1.micro では2つの AWS Fargate タスクのみを使用します。
1つはスケジューラー/ワーカーのハイブリッド、もう1つはウェブサーバーです。この環境で起動されるAmazon ECSタスクは、AWS Fargate プラットフォーム バージョン 1.4.0を使用し、一時タスクストレージを20GBに増やします。
もう1つの変更点は、メタデータベースがt4g.mediumインスタンスタイプのAmazon Aurora PostgreSQL互換エディションを使用するようになったことです。
以下の図は、この環境のアーキテクチャを示しています。
mw1.microの主な機能と制約
機能
- パブリックまたはプライベートのウェブサーバーを設定できため、必要に応じてAirFlow UIへのアクセスを制御できる
- カスタムプラグインや要件を追加することで、AirFlowの機能を拡張し、依存関係を簡単に管理できる
- 起動スクリプトを使用して初期化タスクを実行し、環境が仕様どおりに正確に構成されていることを確認できる
- AirFlowUIは完全に機能し、ワークフローの管理と監視に同じ直感的なインターフェースを提供します。
- 他のAmazon MWAA環境クラスと同じネットワーク機能を持ち、カスタムURLや共有VPCをサポートする
- スケジューラーとワーカーのログは、それぞれ別のAmazon CloudWatchロググループに保存される
制約
mw1.microは機能性とコスト効率のバランスを重視したアーキテクチャであり、mw1.microの限られたリソースがもたらす制約もあります。
- スケジューラーとワーカーが1つのFargateタスクに統合されているため、単一のスケジューラー/ワーカーコンテナのみがサポートされている
- ウェブサーバー用の単一のFargateタスクで構成されており、ウェブサーバーの最大数は1です
- ワーカー内の同時実行可能なAirflowタスクの数(worker_autoscale)は、最大数は3です
Amazon MWAA環境の構築
準備
事前にMWAAの情報の格納するS3のバケットを準備します。
構築
マネジメントコンソールから、マイクロサイズのAmazon MWAA環境を作成します。[環境を作成]ボタンを押します。
AirFlowの「名前」と準備で作成したS3バケットを指定します。
デプロイするVPC、インターネットへの公開/非公開、実行ロールを指定します。
環境クラスにて、「mw1.micro」を選択します。「mw1.micro」を選択すると下の設定項目がグレーアウトします。
設定の確認画面です。[環境を作成]ボタンを押すと環境の作成が開始されます。
MWAA環境は、20〜30分ほど待つと作成され、[AirFlowを開く]リンクからUIを開けるようになります。
AirFlowのウェブUIにアクセス
AirFlow環境の一覧から[AirFlow UIを開く]リンクをクリックとAirFlowのUIが表示されます。
料金
環境クラスとメタデータデータベースのストレージ消費量に基づいて課金ですが、詳細については料金ページ(英語)をご覧ください。
運用で検討すべき点
環境の最適な運用を維持するために、以下のメトリクスの監視が推奨します。
- メタデータデータベースのメモリ使用量
- ワーカー/スケジューラーハイブリッドコンテナのCPU使用率
まとめ
Amazon Managed Workflows for Apache Airflow(Amazon MWAA)に新たに追加されたマイクロ環境クラス「mw1.micro」は、小規模な本番ワークロードや開発環境に最適な選択肢となります。このクラスは、コスト効率の向上とリソースの最適化を実現しつつ、Amazon MWAAの主要な機能を維持しています。mw1.microでは、スケジューラーとワーカーが単一のコンテナに統合され、2つのAWS Fargateタスクのみを使用するシンプルな構成となっています。これにより、小規模なワークフローや開発環境に適した柔軟性と経済性を提供しています。
ただし、mw1.microには同時実行タスク数やワーカー数に制限があるため、大規模なワークロードには適していません。環境の構築はマネジメントコンソールから簡単に行うことができ、20〜30分程度で完了します。運用面では、メタデータデータベースのメモリ使用量やワーカー/スケジューラーハイブリッドコンテナのCPU使用率などの監視が重要です。
mw1.microの導入により、組織はApache Airflowの機能を損なうことなく、より効率的かつ経済的にデータパイプライン管理とオーケストレーションを行うことが可能になります。これは、特に小規模なプロジェクトや開発段階のワークフローに大きな価値をもたらし、AWSのサービスポートフォリオをさらに強化するものと言えるでしょう。
合わせて読みたい